// pages/case/case.js
const allUrl = require('../../config').allUrl
var app = getApp()
var userInfo = app.globalData.userInfo

Page({
  data:{
    isDone: 3, //  案件已经处理完毕
    showText: '', //  展示的文本
    btnTitle: '',
    latitude: 0,
    longitude: 0,
    alertPhone: '',
    distance: '不少距离',
    casePage: false,//判断是否是case页面，如果不是case页面让循环请求停下来

    address: null,
    remark: null,
    created_at: null,
    mobile: null,


    // 固定标记
    markers:[],// id: 1:案发地点  
    //   {
    //   iconPath: '/images/icon_en.png',
    //   id: 0,
    //   latitude: 30.274085,
    //   longitude: 120.15507,
    //   width: 30,
    //   height: 30
    // }
  },



  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
    // console.log("case page--------------")
    // console.log(app.globalData.call_id)
    // console.log(options)
    if(app.globalData.call_id==options.call_id){
      //  正在处理中的案件，记录id， 定时请求信息
      this.setData({
        casePage: true
      })
      this.getCallNews()
    }else{
      this.setData({
        isDone: options.isDone,
        btnTitle: options.isDone==2?'取消案件':'返回',
        showText: options.isDone == 3 ? '案件已处理完' : options.isDone == 2 ? '请尽快赶往案发现场，并与报警人联系!' : one.status == 1 ? '案件已被取消' : '',
        latitude: options.latitude,
        longitude: options.longitude,

        alertPhone: options.alertPhone, 
        address: options.address,
        remark: options.remark,
        created_at: options.created_at,
        mobile: options.alertPhone,

        markers:[
          {
            iconPath: '/images/icon_case.png',
            id: 1,
            latitude: Number.parseFloat(options.latitude),
            longitude: Number.parseFloat(options.longitude),
            width: 26,
            height: 36
          }
        ]
      })
    }
  },
  onReady:function(){
    // 页面渲染完成
    // this.getCenterPosition()
    // this.getUserLoca()
    // 使用wx.createMapContext获取map上下文
    // this.mapCtx = wx.createMapContext('map')
  },
  onShow:function(){
    // 页面显示
    // if(app.globalData.call_id){
    //   //  正在处理中的案件，记录id， 定时请求信息
    //   this.setData({
    //     casePage: true
    //   })
    //   this.getCallNews()
    // }
  },
  onHide:function(){
    app.globalData.first = true
    // 页面隐藏
    // this.setData({
    //   casePage: false
    // })
  },
  onUnload:function(){
    app.globalData.first = true
    this.setData({
      casePage: false
    })
  },


  //  取消、返回事件处理函数
  reportAction: function(){
    //获取位置坐标信息
    if(this.data.isDone==2){//任务进行中
      wx.navigateTo({
        url: '../cancelCase/cancelCase',
        success: function(res){},
        fail: function(res) {},
        complete: function(res) {}
      })
    }else{//已完成,返回
      // wx.navigateBack({
      //   delta: 1, // 回退前 delta(默认为1) 页面
      //   success: function(res){},
      //   fail: function(res) {},
      //   complete: function(res) {}
      // })
      wx.switchTab({
        url: '../caselist/caselist',
      })
    }
  },
  //  点击完成按钮
  doneCaseAction: function () {
    console.log('点击了完成按钮')
    wx.showToast({
      title: '正在发送完成消息',
      duration: 10000,
      icon: 'loading'
    })
    wx.request({
      url: allUrl + 'Api/doneCall.html',
      header: {
        'Accept': 'application/json',
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      data: {
        call_id: app.globalData.call_id
      },
      method: 'POST',
      success: function (res) {
        // console.log(res)
        wx.hideToast()
        if(res.data.status_code == 200){
          wx.showToast({
            title: '案件已完成',
          })
          // 将案件id清空
          app.globalData.call_id = null
          //  返回上一级界面
          // wx.navigateBack({
          //   delta: 1, // 回退前 delta(默认为1) 页面
          //   success: function (res) { },
          //   fail: function (res) { },
          //   complete: function (res) { }
          // })
          //app.playNewCallAudio()
          wx.switchTab({
            url: '../caselist/caselist',
          })
        }else{
          wx.showToast({
            title: '请求失败，请重新尝试',
          })
        }
      },
      fail: function (res) { },
      complete: function (res) {}
    })
  },



  regionchange(e){
    // console.log(e.type)
  },
  markertap(e){
    var that = this
    // console.log(e.markerId)
    //  点击弹出框，告诉民警报警人信息
    if(e.markerId==1){
      wx.showModal({
        title: '案件信息',
        // content: that.data.isDone == 1 ? '案件已处理完' : that.data.isDone == 2 ? '离对方还有' + that.data.distance : '案件已被取消',
        content: '报警地点:' + that.data.address + '\n报警信息:' + that.data.remark + '\n报警时间:' + that.data.created_at + '\n报警人电话:' + that.data.mobile+"\n案件状态:"+(that.data.isDone == 3 ? '已完成' : that.data.isDone == 2 ? '处理中' : '已取消'),
        cancelText: "取消",
        confirmText: "拨打",
        success: function (res) {
          if (res.confirm) {
            wx.makePhoneCall({
              phoneNumber: that.data.alertPhone,
            })
          } 
        },
      })
    }
    
  },



  //循环请求案件信息
  asyncCaseInfo: function(){
    // console.log('一次请求')
    var that = this
    setTimeout(function(){
      if(app.globalData.j_id && app.globalData.call_id){//如果有警员id，有正在处理的案件
          that.getCallNews()
      }
    }, 3000);
  },
  //   ********获取案件最新详情*********
  getCallNews: function(){
    var that = this
    if(this.data.casePage){
      wx.request({
        url: allUrl + 'Api/getCallById.html',
        header: {
          'Accept': 'application/json',
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        data: {
          call_id: app.globalData.call_id
        },
        method: 'POST', 
        success: function(res){
          console.log('app  案件详情')
          console.log(res)
          //  弹出对话框，可以跳转
          if(res.data.status_code == 200 && res.data.data.call){
            var one = res.data.data.call
            //  请求成功，返回案件详情
            if(that.data.address == null){
              that.setData({
                address: one.address,
                remark: one.remark,
                created_at: one.created_at,
                mobile: one.mobile,
              })
            }
            that.setData({
              isDone: one.status,
              btnTitle: one.status == 2 ? '取消案件' : '返回',
              // showText: one.status == 1 ? '案件已处理完' : one.status == 2 ? '请尽快赶往案发现场，并与报警人联系' : (one.status == 0 || one.status == 3) ? '案件已被取消,您无需处理' : '',
              showText: one.status == 3 ? '案件已处理完' : one.status == 2 ? '请尽快赶往案发现场，并与报警人联系' : (one.status == 0 || one.status == 1) ? '案件已被取消,您无需处理' : '',
              latitude: one.lat,
              longitude: one.lng,
              alertPhone: one.mobile,
              distance: one.distance,

              markers:[
                {
                  iconPath: '/images/icon_case.png',
                  id: 1,
                  latitude: Number.parseFloat(that.data.latitude),
                  longitude: Number.parseFloat(that.data.longitude),
                  width: 26,
                  height: 36
                }
              ]
            })
            console.log(that.data)
          }
        },
        fail: function(res) {},
        complete: function(res) {
          if (res.data.data != null && res.data.data.call != null && (res.data.data.call.status == 1 || res.data.data.call.status == 3 || res.data.data.call.status == 0)){
            app.globalData.call_id = null
            // wx.switchTab({
            //   url: '../caselist/caselist',
            // })
          }else{
            that.asyncCaseInfo()
          }
        }
      })
    }
  },

})